home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / slaed0.z / slaed0
Text File  |  1996-03-14  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. SSSSLLLLAAAAEEEEDDDD0000((((3333FFFF))))                                                          SSSSLLLLAAAAEEEEDDDD0000((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      SLAED0 - compute all eigenvalues and corresponding eigenvectors of a
  10.      symmetric tridiagonal matrix using the divide and conquer method
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE SLAED0( ICOMPQ, QSIZ, N, D, E, Q, LDQ, QSTORE, LDQS, WORK,
  14.                         IWORK, INFO )
  15.  
  16.          INTEGER        ICOMPQ, INFO, LDQ, LDQS, N, QSIZ
  17.  
  18.          INTEGER        IWORK( * )
  19.  
  20.          REAL           D( * ), E( * ), Q( LDQ, * ), QSTORE( LDQS, * ), WORK(
  21.                         * )
  22.  
  23. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  24.      SLAED0 computes all eigenvalues and corresponding eigenvectors of a
  25.      symmetric tridiagonal matrix using the divide and conquer method.
  26.  
  27.  
  28. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  29.      ICOMPQ  (input) INTEGER
  30.              = 0:  Compute eigenvalues only.
  31.              = 1:  Compute eigenvectors of original dense symmetric matrix
  32.              also.  On entry, Q contains the orthogonal matrix used to reduce
  33.              the original matrix to tridiagonal form.  = 2:  Compute
  34.              eigenvalues and eigenvectors of tridiagonal matrix.
  35.  
  36.      QSIZ   (input) INTEGER
  37.             The dimension of the orthogonal matrix used to reduce the full
  38.             matrix to tridiagonal form.  QSIZ >= N if ICOMPQ = 1.
  39.  
  40.      N      (input) INTEGER
  41.             The dimension of the symmetric tridiagonal matrix.  N >= 0.
  42.  
  43.      D      (input/output) REAL array, dimension (N)
  44.             On entry, the main diagonal of the tridiagonal matrix.  On exit,
  45.             its eigenvalues.
  46.  
  47.      E      (input) REAL array, dimension (N-1)
  48.             The off-diagonal elements of the tridiagonal matrix.  On exit, E
  49.             has been destroyed.
  50.  
  51.      Q      (input/output) REAL array, dimension (LDQ, N)
  52.             On entry, Q must contain an N-by-N orthogonal matrix.  If ICOMPQ =
  53.             0    Q is not referenced.  If ICOMPQ = 1    On entry, Q is a
  54.             subset of the columns of the orthogonal matrix used to reduce the
  55.             full matrix to tridiagonal form corresponding to the subset of the
  56.             full matrix which is being decomposed at this time.  If ICOMPQ = 2
  57.             On entry, Q will be the identity matrix.  On exit, Q contains the
  58.             eigenvectors of the tridiagonal matrix.
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. SSSSLLLLAAAAEEEEDDDD0000((((3333FFFF))))                                                          SSSSLLLLAAAAEEEEDDDD0000((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      LDQ    (input) INTEGER
  75.             The leading dimension of the array Q.  If eigenvectors are
  76.             desired, then  LDQ >= max(1,N).  In any case,  LDQ >= 1.
  77.  
  78.             QSTORE (workspace) REAL array, dimension (LDQS, N) Referenced only
  79.             when ICOMPQ = 1.  Used to store parts of the eigenvector matrix
  80.             when the updating matrix multiplies take place.
  81.  
  82.      LDQS   (input) INTEGER
  83.             The leading dimension of the array QSTORE.  If ICOMPQ = 1, then
  84.             LDQS >= max(1,N).  In any case,  LDQS >= 1.
  85.  
  86.      WORK   (workspace) REAL array,
  87.             dimension (1 + 3*N + 2*N*lg N + 2*N**2) ( lg( N ) = smallest
  88.             integer k such that 2^k >= N )
  89.  
  90.      IWORK  (workspace) INTEGER array,
  91.             If ICOMPQ = 0 or 1, the dimension of IWORK must be at least 6 +
  92.             6*N + 5*N*lg N.  ( lg( N ) = smallest integer k such that 2^k >= N
  93.             ) If ICOMPQ = 2, the dimension of IWORK must be at least 2 + 5*N.
  94.  
  95.      INFO   (output) INTEGER
  96.             = 0:  successful exit.
  97.             < 0:  if INFO = -i, the i-th argument had an illegal value.
  98.             > 0:  The algorithm failed to compute an eigenvalue while working
  99.             on the submatrix lying in rows and columns INFO/(N+1) through
  100.             mod(INFO,N+1).
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.